#include "maTables.h"

namespace ma {

CodeMatch const quad_code_match[(1<<4)] =
{{0,0} //0000 tetrahedronize
,{0,-1}//0001 1 split-ignore
,{0,-1}//0010 1 split-ignore 
,{0,-1}//0011 2 adj splits-ignore
,{0,-1}//0100 1 split-ignore 
,{0,1} //0101 2 splits-canonical
,{0,-1}//0110 2 adj splits-ignore
,{0,-1}//0111 3 splits-ignore
,{0,-1}//1000 1 split-ignore 
,{0,-1}//1001 2 adj splits-ignore
,{1,1} //1010 2 splits-rotate
,{0,-1}//1011 3 splits-ignore
,{0,-1}//1100 2 adj splits-ignore
,{0,-1}//1101 3 splits-ignore
,{0,-1}//1110 3 splits-ignore
,{0,2} //1111 uniform refine
};

/* yes, this is a 512-entry array with 5 meaningful entries.
   It had to be generated by the program prismCodeMatch.cc
   It is fair to say that prisms stretch the limits of this
   direct array lookup system for rotating entities based
   on edge codes, but unless we break 1024 entries it
   really doesn't make sense to have special cases or redesign
   the system. */
CodeMatch const prism_code_match[(1<<9)] =
{{0,0}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{1,1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,2}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{2,1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{2,2}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{1,2}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,3}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,4}
};

/* again, this is a 256-entry array with 4 meaningful entries.
   It had to be generated by the program pyramidCodeMatch.cc
   sigh... */
CodeMatch const pyramid_code_match[(1<<8)] = 
{{0,0}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,6}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{1,6}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,7}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,12}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{1,1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{1,12}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{1,7}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,2}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,8}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,13}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{2,1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{2,7}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{2,12}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,3}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,9}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,14}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{1,2}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{1,13}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{1,8}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{3,4}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{3,15}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{3,10}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{3,1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{3,12}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{3,7}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{3,2}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{3,13}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{3,8}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{1,3}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{1,14}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{1,9}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{2,4}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{2,10}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{2,15}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{2,2}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{2,8}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{2,13}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{1,4}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{1,15}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{1,10}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,4}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,10}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,15}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,5}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,11}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{1,11}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,-1}
,{0,16}
};

}
